/****************************************************************
 *  This file created by writerB.php on 03/26/2007 at 15:59:40  *
 ****************************************************************
 *  writerB.php created by Tonk (tonk@ctonk.com) in 2007        *
 ****************************************************************
 *                 General Document Information
 *
 *  File Name: help.h
 *  Class Name: Help
 *  Parent Classes: none
 *  Data members: 3
 *  Notes:
 ****************************************************************/

#ifndef __H_HELP
#define __H_HELP

#include <iostream>
#include <string>



class Help {
	protected:
		// Protected data...
		int			_HelpID;	// Holds a unique value for every instantiation.
		std::string	_title;
		std::string	_tags;
		std::string	_text;
		unsigned	_level;

		// Protected methods...
		void	setHelpID( const int& HelpID );

	public:
		// Constructors...
		Help();
		Help( const Help& );	// Doesn't change _HelpID
		~Help();

		// Operators...
		Help& operator = ( const Help& );		// Doesn't change _HelpID
		bool operator == ( const Help& ) const;	// Doesn't compare _HelpIDs
		bool operator < ( const Help& ) const;	// Compares _HelpIDs
		bool operator > ( const Help& ) const;	// Compares _HelpIDs

		// Public accessor methods...
		int			getHelpID( void ) const;
		void		setTitle( const std::string& title );
		std::string	getTitle( void ) const;
		void		setTags( const std::string& tags );
		std::string	getTags( void ) const;
		void		setText( const std::string& text );
		std::string	getText( void ) const;
		void		setLevel( const unsigned& level );
		unsigned	getLevel( void ) const;

		// General methods...

		// Static members and methods...
		static int	helpIndex;	// Used to create a unique id for every Help object
		static int	numHelps;	// Keeps track of the total number of Help objects
};

// Associated operators...
std::ostream& operator << ( std::ostream& write, Help& help );
std::ostream& operator << ( std::ostream& write, Help* help );
std::string& operator << ( std::string& dest, Help* help );



#endif // __H_HELP
